quickstarts.tsx 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. import { useParams } from 'next/navigation'
  2. import { useRouter } from 'next/router'
  3. import { useEffect } from 'react'
  4. import SQLQuickstarts from '@/components/interfaces/SQLEditor/SQLTemplates/SQLQuickstarts'
  5. import DefaultLayout from '@/components/layouts/DefaultLayout'
  6. import { EditorBaseLayout } from '@/components/layouts/editors/EditorBaseLayout'
  7. import SQLEditorLayout from '@/components/layouts/SQLEditorLayout/SQLEditorLayout'
  8. import { SQLEditorMenu } from '@/components/layouts/SQLEditorLayout/SQLEditorMenu'
  9. import { createTabId, useTabsStateSnapshot } from '@/state/tabs'
  10. import type { NextPageWithLayout } from '@/types'
  11. const SqlQuickstarts: NextPageWithLayout = () => {
  12. const router = useRouter()
  13. const ref = useParams<{ ref: string }>()?.ref
  14. const tabs = useTabsStateSnapshot()
  15. useEffect(() => {
  16. if (!router.isReady) return
  17. const tabId = createTabId('sql', { id: 'quickstarts' })
  18. tabs.addTab({
  19. id: tabId,
  20. type: 'sql',
  21. label: 'Quickstarts',
  22. metadata: {
  23. sqlId: 'quickstarts',
  24. name: 'quickstarts',
  25. },
  26. })
  27. }, [router.isReady, ref])
  28. return <SQLQuickstarts />
  29. }
  30. SqlQuickstarts.getLayout = (page) => (
  31. <DefaultLayout>
  32. <EditorBaseLayout productMenu={<SQLEditorMenu />} product="SQL Editor">
  33. <SQLEditorLayout>{page}</SQLEditorLayout>
  34. </EditorBaseLayout>
  35. </DefaultLayout>
  36. )
  37. export default SqlQuickstarts